A variety of mechanisms are available to help users search and navigate electronic information. For example, many electronic resources employ a search engine to help users locate information. To locate information on a particular topic, a search engine allows users to submit one or more search query terms related to a topic of interest. In response, the search engine executes the search query, consults its indexes, and generates information about the results of the search. The information about the results of the search, referred to herein as the “search results”, usually contains a list of resources that satisfy the search query and some attributes of those sources.
While search engines may be applied in a variety of contexts, one common use is navigating through document repositories by searching for documents of interest. Therefore, web search engines are especially useful for locating resources that are accessible on the Internet, as the Internet can be thought of as a large repository of resources. Many searching techniques may be used by Internet search engines. For example, an Internet search engine might read or “crawl” pages on the Internet to create entries for a search index, and then use that index when determining which pages are relevant to a search query. Accordingly, current web search engines have very large document indexes, which means that the web search engines can provide deep coverage of Internet resources.
The resources identified in Internet search results often include files whose content is composed in a page description language such as Hypertext Markup Language (HTML). Such files are typically called web pages. Using a web browser, a web page may be retrieved by entering its Universal Resource Locator (URL) in a web browser. A URL is basically the electronic address of a web page. Internet search results may therefore be presented to a user as a list of hypertext links to the URLs of matching resources. Users retrieve a document or resource of interest found in a search by selecting, in a web browser, the resource's hypertext link or URL found in the search results.
Unfortunately, search results may contain so many matching resources that a user may be overwhelmed by the results. Therefore, a number of techniques have been designed to assist the user in their search. For example, search results frequently include a short description or “abstract” with each matching resource. Abstracts are relatively short, so that a user may quickly judge the relevance of a matching resource listed in the search results. These abstracts may be contextual or static. A contextual abstract is one that is generated dynamically based on the search query terms submitted by a user. A static abstract is a short summary of the contents of a web page. This can be algorithmically determined by a computer program, or input by a user (e.g., typically, by the web page's publisher). By viewing an abstract, a user can quickly determine if a matching resource is relevant to their search.
As useful as abstracts and other search tool features may be in helping a user find useful information, conventional searching techniques still have limitations. For example, web search engines rely almost exclusively on search terms provided by a user to find and display information to a user. As other examples, search engines do not take into account where users has been or what the user's web search behavior has been like. As a result, the search results suggested by a search engine are heavily based on the search terms and do not take into account other forms of data that may be useful in helping a user find useful and interesting information on the web.
The approaches described in the section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.